Controller interface with multiple day programming

ABSTRACT

A controller equipped with a user interface having multiple-day programming capabilities, including methods of programming such devices, are disclosed. The user interface may include one or more menus or screens that can be used to program a schedule for one or more selected days during the week. An illustrative method of programming the controller may include the steps of entering a scheduling routine, selecting multiple days for schedule modification, changing the schedule parameters for one or more periods during the selected days, and then exiting the scheduling routine.

This application is a continuation of U.S. patent application Ser. No. 10/726,201, filed Dec. 2, 2003.

FIELD OF THE INVENTION

The present invention relates generally to the field of programmable controllers for homes and/or buildings are their related grounds. More specifically, the present invention relates to simplified interfaces for such controllers having multiple-day programming capabilities.

BACKGROUND OF THE INVENTION

Controllers are used on a wide variety of devices and systems for controlling various functions in homes and/or buildings and their related grounds. Some controllers have schedule programming that modifies device parameters such as set points as a function of date and/or time. Some such device or system controllers that utilize schedule programming for controlling various functions in homes and/or buildings and their related grounds include, for example, HVAC controllers, water heater controllers, water softener controllers, security system controllers, lawn sprinkler controllers, and lighting system controllers.

In a typical HVAC application, for example, such controllers can be employed to monitor and, if necessary, control various environmental conditions occurring within a home or office building. The controller may include a microprocessor that interacts with other components in the system to regulate the temperature, humidity, venting, and/or air quality occurring at one or more locations. An internal sensor located within the controller and/or one or more remote sensors may be employed to sense when the temperature and/or humidity level reaches a certain threshold level, causing the controller to send a signal to activate or deactivate one or more components in the system.

The controller may be equipped with a user interface that allows the user to monitor and adjust various parameters of the controller. With more modern designs, the user interface typically comprises a liquid crystal display (LCD) or light emitting diode (LED) display inset within a controller housing that contains a microprocessor or the like, an I/O interface, and other components of the controller. The user interface may include a menu-driven interface that allows the user to scroll through one or more menus or screens to adjust the different settings on the controller. In some cases, a program within the controller prompts the user at each menu or screen to input various commands into the interface to adjust the controller settings.

In certain designs, the user interface can be configured to permit the user to program the controller to run on a certain schedule. For example, the controller can include a scheduling routine that allows the user to adjust the heat and cool set points for one or more periods during a particular day in order to conserve energy. Once the parameters for that day have been programmed, the user can then repeat the process to change the settings for the other remaining days. With some designs, the controller may include a feature that allows the user to program a separate schedule for weekday and weekend use, or to copy settings for a particular day and apply those settings towards other days of the week.

Interaction with the user interface can often prove difficult, discouraging many users from attempting to program the controller to run on a schedule. While some modern controllers allow the user to copy settings from one day to another, the number of steps typically required to program the controller are often deemed too complex or time consuming. In some cases, the user interface may not allow the user to select multiple days outside of the normal weekday/weekend scheme. Accordingly, there is an ongoing need in the art to decrease the time and complexity associated with programming a controller to run a multiple-day schedule.

SUMMARY OF THE INVENTION

The present invention pertains to simplified interfaces for controllers having multiple-day programming capabilities. In one illustrative embodiment, a method of programming a multiple-day schedule in a controller equipped with a user interface can include the steps of entering a scheduling routine, selecting multiple days for schedule modification, changing the schedule parameters for one or more periods during the selected days, and then exiting the scheduling routine. The user may select or de-select days of the week to be modified at any point within the scheduling routine, including at certain pre-selected times. In some embodiments, the controller can be programmed to run the schedule for any day or combination of days, as desired by the user.

The controller may include a user interface that can be used for both displaying and modifying various parameters within the controller. For example, the user interface can include a touch screen, display panel/keypad, or any other suitable device adapted to transmit various commands to and from the controller. A number of mechanical and/or soft buttons (e.g. variable function, software configured) may be configured to accept input commands from the user. In certain embodiments, the user interface can include a menu-driven interface that allows the user to navigate through one or more menus or screens to modify various operational settings within the controller. The menu-driven interface may include a number of icons (e.g. descriptive buttons) prompting the user to input various commands with, for example, the touch screen or keypad. Using the interface, the user can program the controller to run a particular schedule for one or more days without having to copy the settings from one particular day and then apply those settings to other days of the week.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow chart of an illustrative method for programming a multiple-day schedule on a controller equipped with a user interface;

FIG. 2 is a flow chart of another illustrative method for programming a multiple-day schedule on a controller equipped with a user interface;

FIG. 3 is a block diagram of an illustrative HVAC system employing a controller having multiple-day programming capabilities;

FIG. 4 is a plan view of an illustrative HVAC controller equipped with a touch screen interface;

FIGS. 5A-5J are pictorial views showing an illustrative method of programming a multiple-day schedule using the touch screen interface of FIG. 4;

FIG. 6 is a plan view of another illustrative HVAC controller equipped with a display panel and keypad interface;

FIGS. 7A-7J are pictorial views showing an illustrative method of programming a multiple-day schedule using the display panel and keypad interface of FIG. 6;

FIG. 8 is a schematic view showing an illustrative embodiment for changing set points across a schedule;

FIG. 9 is a schematic view showing another illustrative embodiment for changing set points across a schedule;

FIG. 10 is a schematic view showing yet another illustrative embodiment for changing set points across a schedule;

FIG. 11 is a schematic view showing an illustrative embodiment for changing set points of a selected period across a schedule;

FIG. 12 is a schematic view showing an illustrative embodiment for displaying a number of device parameters of a schedule of a controller;

FIG. 13 is a schematic view showing another illustrative embodiment for displaying a number of device parameters of a schedule of a controller;

FIG. 14 is a schematic view showing yet another illustrative embodiment for displaying a number of device parameters of a schedule of a controller; and

FIG. 15 is a schematic view showing another illustrative embodiment for displaying a number of device parameters of a schedule of a controller.

DETAILED DESCRIPTION OF THE INVENTION

The following description should be read with reference to the drawings, in which like elements in different drawings are numbered in like fashion. The drawings, which are not necessarily to scale, depict illustrative embodiments and are not intended to limit the scope of the invention. Although examples of various programming and operational steps are illustrated in the various views, those skilled in the art will recognize that many of the examples provided have suitable alternatives that can be utilized. While the various devices, systems and methods illustrated herein are described specifically with respect to HVAC controllers, it should be understood that the present invention can be employed in other applications where multiple-day schedules are implemented, including, for example, water heater systems, water softener systems, security systems, lighting systems, sprinkler or drip water systems, audio/video (A/V) systems, etc.

Referring now to FIG. 1, a flow chart showing an illustrative method of programming a multiple-day schedule on a controller equipped with a user interface is shown. The programming method, indicated generally by reference number 10, can begin with the step of initializing a scheduling routine within the controller that allows the user to view and, if desired, modify various parameters within a schedule. In an illustrative HVAC system for use in a home, for example, the controller can be configured to initialize a scheduling routine that allows the user to view and modify one or more periods during the day corresponding with the times during the day that the user wakes, leaves home, returns home, and sleeps. For example, the controller may include a separate “wake” period, “leave” period, “return” period, and “sleep” period that can be programmed within the schedule to conserve energy while the user is away from home or asleep. The “wake” period, “leave” period, “return” period, and “sleep” period are only examples, and it is contemplated that any suitable schedule may be used, depending on the application.

Within each period, the controller can include various event time and set point parameters that can be utilized to regulate various environmental conditions within a particular space. In certain embodiments, for example, the controller may include a heat set point parameter and cool set point parameter that can be utilized to regulate the amount of heating and/or cooling occurring within the home. The controller may further include a fan mode parameter that can be set to operate the fan in a particular manner during each period. For example, the controller can be configured to operate the fan constantly during each selected period (i.e. an “On Mode”), or automatically as needed (i.e. an “Auto Mode”) during each selected period. Other parameters such as the ventilation, humidity level, frost level, air quality, etc. may also be regulated via the controller, as desired. The particular parameter(s) regulated by the controller will, of course, vary depending on the type of system in which the device is employed.

From a normal controller operation mode indicated generally by block 12, the user may initialize a scheduling routine within the controller that allows the user to view the current schedule parameters stored in memory, and, if desired, modify one or more of the parameters to create a new schedule. To initialize the scheduling routine, the user may send a request to the controller via the user interface, causing the controller to initiate a schedule review mode that displays the current settings on the user interface. Initialization of the schedule review mode may occur, for example, when the user presses a button on a touch screen or keypad, speaks a command, or otherwise sends a signal to the controller.

When the schedule review mode is initiated, the controller can be configured to display the current day and period settings for the schedule on the user interface, as indicated generally by block 14. For example, if the current time and day is 7:00 AM on Wednesday, the controller can be configured to display the “wake” period parameters for Wednesday upon initiating the schedule review mode.

To view other selected days and/or periods within the current schedule, the user may select each day and/or period, causing the controller to display the parameters for the selected day and/or period on the user interface, as indicated generally by block 16. The user can select each day individually within the schedule review mode to view the schedule parameters for each period without modification. If, for example, the user is currently viewing the schedule parameters for Wednesday during the “wake” period, the user can select other individual days of the week (e.g. Tuesday) to view the schedule parameters for that day's “wake” period. Within each individual day selected, the user can select each period to display the parameters scheduled to occur for that day. At any point during the schedule review mode, the user can send a signal to the controller to terminate the scheduling routine and return to the normal controller operation mode indicated by block 12.

In one illustrative embodiment, the user can modify one or more of the schedule parameters by initiating an editing mode within the controller. The user can initiate the editing mode by, for example, pressing an “edit” button on a touch screen, keypad or other input device, sending a signal to the controller to initiate the editing mode.

Upon initiation of the editing mode, the user interface can be configured to display a message that prompts the user to select the day or days that are to be modified in the schedule. As indicated by block 18, for example, the controller can be configured to display the message “OK TO PICK MULTIPLE DAYS” or other similar text or graphic on the user interface, prompting the user to select those days in the schedule to modify. The user can then select each day that is to be modified within the schedule, as desired.

As the first day is selected, the various periods in the schedule are then displayed on the user interface, as indicated generally by block 20. At this step, the user may select one or more days during the week to modify the schedule. For example, the user may select to run the schedule on alternating days of the week, during only the weekdays or weekends, or any other desired combination. The controller can be configured to notify the user of each day or combination of days selected using, for example, a check mark, blinking text, and/or other suitable indicator on the user interface.

The controller can be configured to default to one of the periods upon selecting the first day, displaying the schedule parameters for that particular day and period on the user interface. For example, if the user selects Monday as the first day to modify in the schedule, the controller can be configured to display the parameters for the “wake” period on the user interface. In certain embodiments, the controller can be configured to default to the period last modified in the schedule, or to the period following the last period modified in the schedule. In other embodiments, all periods for the selected day may be displayed.

Once the user has selected one or more days to be modified in the schedule, the controller can be configured to display the schedule parameters scheduled for each individual period, as indicated generally by block 22. The user can then modify one or more of the parameters for each selected period, as desired, causing the controller to display the new parameters on the user interface, as indicated generally by block 24.

To modify the schedule parameters for other periods, the user can select each desired period individually, and then repeat the process again until all desired periods have been modified in the schedule. In some cases, the user can select more than one period at once in order to simultaneously modify at least some of the parameters, such as the set points, at the selected periods and across the selected days. At any time during this process, the user may select or deselect one or more days of the week to include/exclude the modified parameters. For example, if the user decides after initially modifying the schedule parameters for one or more periods of selected days of the week, the user may select an additional day to include the modified schedule parameters. If desired, the user may choose to cancel the modified parameters by hitting a “cancel” button or other similar command on the user interface, causing the controller to terminate the schedule routine, discard the modified parameters, and return to the normal controller operation mode indicated by block 12.

The process of selecting the parameters for each period can be easily applied to one or more selected days during the week without having to first copy settings from one particular day, and then apply those settings to other selected days. For example, if the user has previously selected only Monday and Wednesday, but later decides to add Friday to the schedule, the user can send a signal to the controller to select Friday at any step during the editing routine to apply the modified schedule parameters for Friday. Since days can be easily selected or de-selected via the user interface, the user is not required to copy the settings for a particular day, and then apply those settings for the other days. Moreover, since the user can select any day or combination of days via the user interface, greater flexibility is provided to create a customized schedule.

After the user has finished modifying the schedule, the user can send a signal to the controller to either save or discard the modified settings. As indicated generally by block 26, the controller can be configured to display the text “Saving Changes” or other similar message on the user interface to notify the user that the controller has saved the modified schedule parameters. Once the modified schedule parameters have been either saved or cancelled, the controller can be configured to terminate the scheduling routine and revert to the normal controller operation mode indicated by block 12. Alternatively, and as shown by dashed line 28, the controller may revert back to, for example, block 18 to allow the user to select another day or set of days, as desired. Once saved, the controller can be configured to automatically run the modified schedule.

FIG. 2 is flow chart of another illustrative method for programming a multiple-day schedule on a controller equipped with a user interface. The programming method, indicated generally by reference number 30, can begin with the step of initializing a scheduling routine within the controller that allows the user to view and, if desired, modify various parameters within the schedule. As with the illustrative embodiment of FIG. 1, the user may initialize the scheduling routine from a normal operation mode 32, causing the controller to display the current day and period settings for the schedule on the user interface, as indicated generally by block 34. To view other selected days and/or period(s) within the current schedule, the user may select each day and/or period on the user interface, causing the controller to display the parameters for the selected day and/or period on the user interface, as indicated generally by block 36.

In one illustrative embodiment, the user can modify one or more of the schedule parameters by initiating an editing mode within the controller. The user can initiate the editing mode by, for example, pressing an “edit” button on a touch screen, keypad or other input device, sending a signal to the controller to initiate the editing mode.

Upon initiation of the editing mode, the user interface can be configured to display a message that prompts the user to select one or more days and/or one or more periods that can be modified in the schedule. As indicated by block 38, for example, the controller can be configured to display the message “OK TO PICK ONE OR MORE PERIODS AND/OR DAYS” or other similar text or graphic on the user interface, prompting the user to user to select one more days and/or periods to be modified within the schedule, as desired.

As the first period and/or day is selected, the various period(s) and/or day(s) to be modified are then displayed on the user interface, as indicated generally by block 40. At this step, the user may select any combination of days and/or periods to modify the schedule, as desired. For example, the user may select to run the schedule on multiple days for a certain period, for a single day with multiple periods, or for multiple days with multiple periods for each selected day. The controller can be configured to notify the user of each day and/or period selected using, for example, a check mark, blinking text, and/or other suitable indicator on the user interface.

Once the user has selected one or more periods and/or days to be modified in the schedule, the controller can be configured to display the schedule parameters scheduled for the selected period(s) and/or day(s), as indicated generally by block 42. The user can then modify one or more of the schedule parameters, as desired, causing the controller to display the new parameters on the user interface, as indicated generally by block 44. At any time during this process, the user may select or de-select one or more periods and/or days of the week to run the schedule without modifying the schedule parameters. If desired, the user may choose to cancel the modified parameters by hitting a “cancel” button or other similar command on the user interface, causing the controller to terminate the scheduling routine, discard the modified parameters, and return to the normal controller operation mode indicated by block 32.

Once the user has finished modifying the schedule, the user can send a signal to the controller to save the modified settings, as indicated generally by block 46. In certain embodiments, the controller can be configured to display the text “Saving Changes” or other similar message on the user interface to notify the user that the controller has saved the modified schedule parameters. Once the modified schedule parameters have been either saved or cancelled, the controller can be configured to terminate the scheduling routine and revert to the normal controller operation mode indicated by block 32. Alternatively, and as shown by dashed line 48, the controller may revert back to, for example, block 38 to allow the user to select one or more additional periods and/or days, as desired. Once saved, the controller can be configured to automatically run the modified schedule.

FIG. 3 is a block diagram of an illustrative HVAC system 50 employing a controller 52 having multiple-day programming capabilities. The illustrative controller 52 includes a processor 54 (e.g. a microprocessor/CPU), a storage memory 56, a clock 58, and an I/O interface 60 that electrically connects the controller 52 to other system components 62. In an illustrative HVAC system for use in a home, the controller 52 can be electrically connected to an air conditioner unit, heater unit, ventilation unit, and/or a humidifier/dehumidifier unit that can be selectively activated or deactivated to regulate the temperature, humidity and air quality levels within the home. Other components such as a filtration unit, UV lamp, defroster, and flue damper can also be connected to the controller 52, as desired. An internal sensor 64 may be located within the controller 52, and can be employed to constantly measure the temperature and/or humidity levels occurring within the structure. In certain designs, the controller 52 can include one or more remote sensors (not shown) configured to measure the temperature and humidity levels outside of the home, or at locations apart from the controller 52.

The controller 52 can be equipped with a user interface 66 that can be used to transmit signals to and from the controller 52. The user interface 66 can include a touch screen, LCD panel and keypad, dot matrix display, computer (e.g. a PDA), or any other suitable device for sending and receiving signals to and from the controller 52. In certain embodiments, the user interface 66 may include a menu-driven interface that allows the user to cycle through one or more menus or screens to view and, if desired, modify various operational settings within the controller 52. For example, the controller 52 can be pre-programmed to run separate routines for adjusting the current temperature or humidity levels, changing the clock or date settings on the controller 52, setting a vacation mode on the controller 52 that can be run while the user is away, or checking the status of the various system components connected to the controller 52. The menus or screens corresponding to a particular routine can be organized from general to more specific, providing the user with only pertinent information at each step within the routine.

FIG. 4 is a plan view illustrating an exemplary HVAC controller 68 equipped with a user interface 70 suitable for programming a multiple-day schedule. As shown in FIG. 4, the user interface 70 can include a touch screen 72 configured to display information and transmit signals to and from the controller 68. Some examples of suitable touch screens for use with the controller 68 may include resistive, capacitive, infrared or surface acoustic wave (SAW) type touch screens. While the touch screen 72 of FIG. 4 is shown inset or recessed within a controller housing 74, other configurations are possible. In some embodiments, the touch screen 72 may be provided as a separate element for use with a personal digital assistant (PDA), PC computer, or other remote device. In certain embodiments, the touch screen 72 can be provided as part of a liquid crystal display (LCD) panel, cathode ray tube (CRT), or other suitable display device.

FIGS. 5A-5J are pictorial views showing an illustrative method of programming a multiple-day schedule using the controller 68 and user interface 70 of FIG. 4. In a first view depicted in FIG. 5A, the controller 68 can be configured to display a main menu screen 76 on the touch screen 72, providing the user with basic information about the current operational status of the controller 68. The main menu screen 76 may be the default screen that appears on the touch screen 72 when the controller 68 is initially activated, after a loss of power has occurred, or after no activity has been detected by the user interface 70 for a certain period of time (e.g. after 1 minute of non-activity).

In the illustrative embodiment, the controller 68 is configured to display a current inside temperature parameter 78 (in either ° F. or ° C.), a current outside temperature parameter 80 (in either ° F. or ° C.), a time of day parameter 82, and a day of week parameter 84 on the touch screen 72. The current heat/cool set point parameter 86 may also be displayed on the touch screen 72, indicating the temperature at which the controller 68 is currently set to maintain. An alphanumeric message 88 displayed on the touch screen 72 may be provided to inform the user whether the controller 68 is currently following the schedule.

A set of up/down buttons 90 displayed on the touch screen 72 can be pressed, if desired, to temporarily change the current heat/cool set point parameter 86 to a setting different from that contained in the schedule. A fan mode button 92 and system mode button 94 displayed on the touch screen 72 allow the user to view and, if desired, modify the fan and system settings. For example, and in the illustrative embodiment, the fan mode button 92 can be pressed repeatedly to cycle the fan between an “On Mode”, “Auto Mode”, and other modes as desired, allowing the user to control the operation of the fan. In similar fashion, the system mode button 94 can be pressed repeatedly to cycle the controller 68 through various heating and cooling modes, as desired.

A “SCHED” button 96 located on the main menu screen 76 can used to initialize a scheduling routine within the controller 68 to modify one or more parameters within the current schedule. When the “SCHED” button 96 is pressed, the controller 68 can be configured to initiate a schedule review mode, causing the controller 68 to access the current schedule parameters and display them on the touch screen 72. As shown in FIG. 5B, for example, the controller 68 can be configured to access the event time parameter 98, heat set point parameter 100, and cool set point parameter 102 for the current schedule, and then display these parameters as alphanumeric text on the touch screen 72.

In the illustrative embodiment, a series of buttons 104 located on the top of the touch screen 72 correspond to the days of the week, and can be pressed to send a signal to the controller 68 to display the schedule parameters for each individual day in the schedule. An icon, blinking text or other suitable indicator for informing the user the current day selected may be displayed on the touch screen 72. For example, in the pictorial view illustrated in FIG. 5B, an icon 106 (e.g. check mark) may be displayed on the touch screen 72, informing the user that the schedule parameters for Wednesday are currently being displayed.

The controller 68 can be configured to default to the current day of the week when the schedule review mode is initiated. For example, if the current time and day is 7:00 AM on Wednesday, the controller 68 can be configured to display the “wake” period parameters for Wednesday on the touch screen 72. To view the schedule parameters for other days of the week, the user may press the appropriate day button 104 on the touch screen 72, causing the controller 68 to display the corresponding parameters for that selected day.

Within each selected day, the user may press one or more period buttons on the touch screen 72, causing the controller 68 to display the parameters scheduled for that day. The touch screen 72 may include, for example, a “WAKE” button 108, a “LEAVE” button 110, a “RETURN” button 112, and a “SLEEP” button 114 that correspond to a separate “wake” period, “leave” period, “return” period, and “sleep” period programmed in the controller 68. In the pictorial view depicted in FIG. 5B, for example, the “LEAVE” button 110 has been pressed (indicated generally by bolded text), causing the controller 68 to display the event time parameter 98 (i.e. 8:00 AM), heat set point parameter 100 (i.e. 62° F.) and cool set point parameter 102 (i.e. 85° F.) corresponding to the “leave” period.

While four periods are specifically illustrated in FIG. 5, it should be understood that the controller 68 could be programmed for a greater or lesser number of periods, if desired. The number of periods will, of course, vary depending on the particular application in which the controller 68 is employed.

Once the user has finished viewing the desired schedule parameters for each day and/or period, the user can terminate the schedule review mode by pressing a “DONE” button 116 or “CANCEL” button 118 displayed on the touch screen 72, causing the controller 68 to terminate the scheduling routine and return to the main menu screen 76 of FIG. 5A.

To modify one or more parameters in the schedule, the user can initiate an editing mode within the controller 68 by pressing an “EDIT” button 120 on the touch screen 72. As shown in FIG. 5C, for example, if the user presses the “EDIT” button 120, an alphanumeric message 122 stating, for example “OK TO PICK MULTIPLE DAYS” can appear on the touch screen 72, informing the user that multiple days can be selected. Other message variations may appear in addition to, or in lieu of, the alphanumeric message 122 illustrated in FIG. 5C. For example, the controller 68 can be configured to display the text “PLEASE SELECT AT LEAST ONE DAY TO MODIFY” or other similar message on the touch screen 72. The user can then either select one or more days to modify the schedule using the appropriate day button(s) 104, or press the “CANCEL” button 118 to terminate the scheduling routine and return to the main menu screen 76 of FIG. 5A.

FIG. 5D is a pictorial view showing the selection of Monday, Tuesday, and Thursday using the “MON”, “TUE” and “THU” buttons 104 on the touch screen 72. As shown in FIG. 5D, when at least one of the day buttons 104 is pressed, the controller 68 can be configured to display the currently programmed event time parameter 98, heat set point parameter 100, and a cool set point parameter 102 for one of the periods in the schedule. A set of up/down buttons 124 can be utilized to modify the event time parameter 98 within the schedule to an earlier or later time, as desired. A similar set of up/down buttons 126,128 can be utilized to adjust, respectively, the heat set point parameter 100 and cool set point parameter 102 to a higher or lower temperature level, as desired, for the selected period.

The controller 68 can be configured to indicate the particular period the user is viewing on the touch screen 72 using an icon, blinking text or other indicator means. In FIG. 5D, for example, the text for the “WAKE” button 108 can configured to blink on and off (indicated generally by bolded text) to indicate that the user is currently viewing the settings for the “wake” period.

If the user desires to modify one or more of schedule parameters for the selected period, the user may use the appropriate set of up/down buttons 124,126,128 to modify the parameter. As shown in FIG. 5E, for example, the user can modify the event time parameter 98 from 6:00 AM to 6:30 AM using the set of up/down buttons 124 located adjacent to the event time parameter 98. In similar fashion, the user may use the appropriate set of up/down buttons 126,128 to adjust the heat set point parameter 100 from 70° F. to 72° F., and the cool set point parameter 102 from 78° F. to 76° F.

To display the parameters for the other periods, the user may press the appropriate period button on the bottom of the touch screen 72, causing the controller 68 to display the schedule parameters for that selected period. To display the settings for the “leave” period, for example, the user may press the “LEAVE” button 110 on the touch screen 72, causing the controller 68 to display the event time parameter 98, heat set point parameter 100, and cool set point parameter 102 for the “leave” period on the touch screen 72, as shown in FIG. 5F. Once selected, the appropriate set of up/down buttons 124,126,128 can be pressed to modify the scheduler parameters, as desired. As with the “WAKE” button 108 discussed above with respect to FIG. 5E, the “LEAVE” button 110 can include indicator means (e.g. blinking text) to indicate that that the user is currently viewing the settings for the “leave” period.

FIGS. 5G and 5H are pictorial views showing the schedule parameters corresponding, respectively, to the “return” and “sleep” periods of the schedule. In FIG. 5G, for example, the “RETURN” button 112 has been selected (indicated generally by bolded text), causing the controller 68 to display the event time parameter 98 (i.e. 6:00 PM), heat set point parameter 100 (i.e. 70° F.) and cool set point parameter 102 (i.e. 78° F.) on the touch screen 72. In similar fashion in FIG. 5H, the “SLEEP” button 114 has been selected, causing the controller 68 to display the event time parameter 98 (i.e. 11:00 PM), heat set point parameter 100 (i.e. 62° F.), and cool set point parameter 102 (i.e. 82° F.) for the “sleep” period on the touch screen 72. Once selected, the user may then adjust the schedule parameters using the appropriate set of up/down buttons 124,126,128 on the touch screen 72, as desired.

In the illustrative embodiment, the user may select or de-select one or more days at any point during the editing mode using the appropriate day button(s) 104 located on the touch screen 72. In the illustrative view of FIG. 5H, for example, the user may desire to add “Wednesday” to the list of days to run the modified schedule parameters. To do so, the user may press the “WED” button 104 on the touch screen 72, causing the controller 68 to add that day to the modified schedule. Conversely, if the user desires to remove one or more days from the modified schedule, the user may simply press the appropriate day button 104 on the touch screen 72, causing the controller 68 to remove those day(s) from the modified schedule.

If the user desires to cancel a particular period from the schedule, the user can select the appropriate period button 108,110,112,114 and then press a “CANCEL PERIOD” button 130 on the touch screen 72. As shown in FIG. 5I, for example, when the user presses the “CANCEL PERIOD” button 130 while in the “wake” period, the controller 68 can be configured to cancel or zero-out the event time parameter 98, heat set point parameter 100, and/or cool set point parameter 102 for that period. An icon 132 normally situated above the “WAKE” button 108 can be configured to disappear on the touch screen 72, indicating to the user that the schedule parameters for that particular period have been cancelled. When the modified schedule is subsequently run, the controller 68 can be configured to apply the settings for the previous period towards the cancelled period until the next scheduled period occurs.

After the user has finished modifying the schedule, the user can press either the “DONE” button 116 to save the modified parameters in the schedule, or the “CANCEL” button 118 to discard the modified changes without saving. As shown in FIG. 5J, the controller 68 can be configured to temporarily display an alphanumeric message 134 such as “SAVING CHANGES” on the touch screen 72 at or near the time that the controller 68 saves the modified settings. The controller 68 can also be configured to temporarily display the days of the week on the touch screen 72 to confirm the selected days modified in the schedule. In some embodiments, the controller 68 can be configured to revert back to the main menu screen 76 of FIG. 5A and, if desired, automatically run the modified schedule.

FIG. 6 is a plan view illustrating another exemplary HVAC controller 136 equipped with a user interface 138 suitable for programming a multiple-day schedule. In the illustrative embodiment of FIG. 6, the user interface 138 includes a display panel 140 and keypad 142 equipped with a number of buttons that can be pressed by the user to scroll through various menus or screens displayable on the display panel 140. Display panel 140 can include any number of suitable display devices, including, for example, a backlit LCD panel or LED screen.

FIGS. 7A-7J are pictorial views showing an illustrative method of programming a multiple-day schedule using the controller 136 and interface 138 of FIG. 6. In a first view depicted in FIG. 7A, the controller 136 can be configured to display a main menu screen 144 on the display panel 140, similar to that described above with respect to FIG. 5A. The controller 136, for example, can be configured to display a current inside temperature parameter 146 (in either ° F. or ° C.), a time of day parameter 148, and a day of week parameter 150. The controller 136 can also be configured to display the current set point parameter 152 on the display panel 140, indicating the temperature at which the controller 136 is currently set to maintain. A set of up/down buttons 154 on the keypad 142 can be used to scroll through the various schedule parameters displayed on the display panel 140. A second series of buttons 156,158,160 disposed below the display panel 140 can be utilized to navigate through one or more menus or screens displayable on the display panel 140.

To initialize the scheduling routine within the controller 136, the user may press the button 158 located immediately below the text “SCHEDULE” located on the display panel 140. When pressed, the controller 136 can be configured to initiate a schedule review mode, causing the display panel 140 to display each day of the week, as shown in FIG. 7B. Using the up/down buttons 154, the user can scroll up or down between each day of the week. As each day is selected, the controller 136 can be configured to blink or otherwise indicate the day of the week that has been selected. The user can then press the button 156 located below the text “GO BACK” on the display panel 140 to go back to the previous screen (i.e. main screen 144), or buttons 158 or 160 to initiate, respectively, the editing and schedule review modes within the controller 136.

FIG. 7C is a pictorial view showing display panel 140 after “Monday” has been selected using the up/down buttons 154, and after button 160 has been pressed. As shown in FIG. 7C, for example, the controller 136 can be configured to display the event time parameter 162 and heat/cool set point parameter 164 for each individual period in the schedule. In FIG. 7C, for example, the various schedule parameters for each period can displayed on the display panel 140 by repeatedly pressing the up/down buttons 154, causing the controller 136 to scroll through each individual period on the display panel 140. When the user is finished viewing the schedule parameters for that particular day, the user may either press button 156 to go back to the previous screen (see FIG. 7B), or button 160 to go back to the main screen 144 (see FIG. 7A).

To modify one or more parameters in the schedule, the user can initiate an editing mode within the controller 136. The user can modify the schedule either individually on a day-by-day basis from within the schedule review mode, or directly via the screen illustrated in FIG. 7B by bypassing the schedule review mode.

To edit the parameters on a day-by-day basis, the user, while within the schedule review mode, may select the individual day of the week to modify, and then press button 158 located below the text “Edit” located on the display panel 140 (see FIG. 7C). For the day “Monday” selected in FIG. 7C, for example, the user can press button 158 while viewing the various parameters for the “wake” period, causing the controller 136 to initiate the editing mode and display the parameters for that specific day, as shown in FIG. 7D. A check mark 166, blinking text, or other suitable indicator can be configured to appear on the display panel 140, indicating that the user has selected to modify the parameters for Monday.

The controller 136 can be configured to prompt the user to cycle through the various schedule parameters for each period by blinking the text for the selected schedule parameter on the display panel 140. For example, the event time parameter 162 in FIG. 7D can be configured to blink on and off, indicating that the user can modify that particular parameter using the up/down buttons 154 on the keypad 142. The user may then change the event time parameter 162 to, for example, 6:30 AM by repeatedly pressing the appropriate one of the up/down buttons 154 until 6:30 AM appears on the display panel 140.

To change the other parameters for that selected period, the user can press button 158 located immediately below the text “Next Step” on the display panel 140, causing the controller 136 to cycle to the next schedule parameter in that period. As the user cycles through each schedule parameter, the controller 136 can be configured to blink the appropriate text on the display panel 140, as shown in FIGS. 7E-7F. When the user has cycled through each schedule parameter for the selected period, the user may press button 158 again, causing the controller 136 to cycle to the next period in the schedule. The process of selecting and modifying schedule parameters can then be repeated, as desired, until all of the parameters for each and every period have been selected. At any point during this process, the user can save the modified settings by pressing button 160 located under the text “Done” on the display panel 140, causing the controller 136 to save the modified schedule parameters.

To select multiple days to program at once in the illustrative embodiment, the user can initiate the editing mode directly from the screen depicted in FIG. 7B by pressing button 158 located under the text “Edit” on the display panel 140. When button 158 is pressed, the controller 136 can be configured to display the text “Select Day” above button 156, prompting the user to select one or more days to modify in the schedule. Using the up/down buttons 154 and the “select day” button 156, the user can scroll through each day of the week and, if desired, select individually each day of the week to modify in the schedule (e.g. Monday, Tuesday, and Thursday), as shown, for example, in FIG. 7G. A check mark 168, blinking text or suitable indicator can be displayed on the display panel 140 next to each day selected, indicating those days of the week to be modified in the schedule.

Once the user has selected the desired day or days to modify the schedule, the user can then press the “Next Step” button 158, causing the controller 136 to display the schedule parameters for one period. As shown in FIG. 7H, for example, the controller 136 can be configured to blink the text “Wake” on the display panel 140 (indicated generally by bolded text), indicating that the parameters for the “wake” period can be modified using the up/down buttons 154 and the “next/step” button 158, similar to that described above with respect to FIGS. 7D-7F. As shown in FIG. 7I, the user can press button 158 repeatedly until the display panel 140 indicates (by blinking text) that the cool set point parameter 164 has been selected. Using the up/down buttons 154, the user can then modify the cool set point parameter 164 to a higher or lower value, as desired.

When the user has cycled through each of the parameters for a particular period, the user may press button 158 again, causing the controller 136 to cycle to the next period in the schedule. The process of selecting and modifying the parameters can then be repeated, as desired, until all of the parameters for each period have been selected and modified (if desired). At any point during this process, the user can save the modified settings by pressing button 160 located under the text “Done” on the display panel 140, causing the controller 136 to save the modified schedule parameters.

As shown in FIG. 7J, the controller 136 can be configured to temporarily display an alphanumeric message 170 such as “SAVED” on the display panel 140 at or near the time that the controller 136 saves the modified settings. The controller 136 can also be configured to temporarily display the days of the week on the display panel 140 to confirm to the user the particular days of the week modified in the schedule. In some embodiments, the controller 136 can revert back to the main menu screen 144 of FIG. 7A, and, if desired, automatically run the modified schedule.

FIG. 8 is a schematic view showing another illustrative embodiment for changing a selected set point value from a current value to a new value across a schedule. An illustrative weekly schedule for an HVAC controller is shown at 180, and an illustrative user interface is shown at 182. In the illustrative embodiment, the user is allowed to select a current set point value to change using a current set point selection box 184. The user is also allowed to select a new set point value using new set point selection box 186. In the illustrative embodiment, the HVAC controller may search though the set points in the schedule 180, and replace all of the set points in the schedule 180 that have the current value with the new set point value, regardless of the position within the schedule 180.

In some embodiments, the user interface 182 may also allow a user to select certain days (and/or period—e.g. Wake, Leave, Return, Sleep), as generally shown at 190. When so provided, the HVAC controller may search through the set points on the selected days (and/or periods) of the schedule 180, and replace those set points that have the current value with the new set point value.

In the example shown, and referring to user interface 182, the user has selected a current set point value of 70 degrees via current set point selection box 184, a new set point value of 72 degrees via new set point selection box 186, and days Tuesday, Wednesday, Thursday and Friday via days selection boxes generally shown at 190. In response, the HVAC controller may replace all set points on Tuesday, Wednesday, Thursday and Friday of the schedule 180 that have a value of 70 degrees with a new value of 72 degrees, regardless of the period (e.g. Wake, Leave, Return and Sleep periods). The set points to be updated to 72 degrees in this example are highlighted with a circle in the schedule 180. As noted above, and in some embodiments, the user interface 182 may allow a user to select one or more periods (e.g. Wake, Leave, Return and Sleep periods) rather than days, or in addition to days, as desired. In any event, the illustrative embodiment of FIG. 8 may reduce or eliminate the need to scroll through each day and/or period of the schedule, and make individual changes to the set points.

FIG. 9 is a schematic view showing another illustrative embodiment for changing set points across a schedule. FIG. 9 shows an illustrative weekly schedule 200 for an HVAC controller, an illustrative user interface 202 for setting heat set points, and an illustrative user interface 204 for setting cool set points. While the user interface 202 and 204 are shown as separate interfaces, it is contemplated they may be combined into one user interface, if desired.

In this illustrative embodiment, the set points in the schedule 200 are set to a tag or pointer value, rather than a temperature value. For example, the set points in the schedule 200 are set to tag or pointer value of High “H”, Medium “M” or Low “L”, corresponding to a high set point value, a medium set point value and a low set point value, respectively. A user interface, such as user interface 202, may then be used to assign and/or change a temperature value that is associated with each tag or pointer value. In the illustrative user interface 202 of FIG. 9, a value of 73 degrees has been assigned to the High “H” heat set point, a value of 71 degrees for the Medium “M” heat set point, and a value of 68 degrees for the Low “L” heat set point. In the illustrative embodiment, the user interface 204 may be used to assign cool set points in a similar manner. When operating in accordance with the schedule 200, the HVAC controller may read up the appropriate tag or pointer value, and set the current set point to the temperature assigned thereto.

By using a tag or point value, rather than a temperature value for the set points in the schedule 200, the user may more easily change a set point across the schedule. For example, in the illustrative embodiment, by changing the value assigned to the High “H” heat set point 206 from 73 degrees to 75 degrees, all of the heat set points with a tag or pointer value of high “H” may be changed across the schedule 200. This may help reduce or eliminate the need to scroll through each day and/or period of the schedule, and make individual changes to the set points.

FIG. 10 is a schematic view showing yet another illustrative embodiment for changing set points across a schedule. FIG. 10 shows an illustrative weekly schedule 210 for an HVAC controller, and an illustrative user interface at 212. In this illustrative embodiment, the user interface 212 allows a user to input an offset value 214. The offset value 214 may be used to offset at least some of the set point values in the schedule 210. In some embodiments, all of the set point values in the schedule 210 are offset by the specified amount. In other embodiments, only those set points that are on selected days 216 and/or in selected periods (e.g. Wake, Leave, Return and Sleep), as desired. Also, and in some embodiments, the offset 214 may only be applied to “heat” set points, or only to “cool” set points, depending on the application. Again, this may help reduce or eliminate the need to scroll through each day and/or period of the schedule, and make individual changes to the set points.

FIG. 11 is a schematic view showing an illustrative embodiment for changing set points of a selected period across a schedule. FIG. 11 shows an illustrative weekly schedule 220 for an HVAC controller, and an illustrative user interface at 222. In this illustrative embodiment, the user interface 222 allows a user to select a desired period (e.g. Wake, Leave, Return and Sleep) 224 from the schedule 220, as well as a new set point value 226. In some embodiments, the user interface 222 may also allow the user to select one or more days of the schedule, as shown at 228. Once selected, the set points for the selected period, and possibly for the selected days, may be updated to the new set point value. In the example shown, the “Wake” period has been selected at 224, a new heat set point value of 73 degrees has been selected at 226, and days Tuesday through Saturday have been selected at 228. In this example, the heat set points for the “Wake” period on Tuesday through Saturday may be changed to 73 degrees. The set points that will be updated to 73 degrees in this example are highlighted by a circle in the schedule 220. As can be seen, this may also help reduce or eliminate the need to scroll through each day and/or period of the schedule, and make individual changes to the set points.

In some cases, it may be desirable to display some, many or all of the parameters of a schedule on a single or limited number of screens. This may help a user to get a more complete picture of the schedule without having to traverse many different display screens. FIG. 12 is a schematic view showing an illustrative embodiment for displaying a number of schedule parameters of a controller. The illustrative display 250 includes a number of schedule period rows including a “wake” period row 252, a “leave” period row 254, a “return” period row 256 and a “sleep” period row 258. It should be recognized that these are only illustrative schedule periods, and that any suitable schedule period may be used, as desired.

The illustrative display 250 also shows a number of day columns. Only a Monday column 260 and part of a Tuesday column 262 are shown on the illustrative display 250. However, in the illustrative embodiment, the schedule may also include day columns for the other days of the week. A number of schedule parameters are shown under each day column. For example, the Monday column 260 includes a “time” column 264 that shows the time that the corresponding schedule period begins, an “H” column 266 that shows the heat set point for the corresponding schedule period, a “C” column 268 that shows the cool set point for the corresponding schedule period, and a “FAN” column 270 that shows the fan mode for the corresponding schedule period. In the illustrative embodiment, the day columns for the other days of the week (not shown) may include the same or similar schedule parameter columns, if desired. It should be recognized that these schedule parameter columns are only illustrative, and that different programmed schedule parameters may be used as desired.

In one illustrative embodiment, the display 250 allows the user may scroll or pan across the controller schedule using scroll or pan buttons 280 and 282. For example, the user may press the right scroll or pan button 282 to move the display in a rightward direction relative to the controller schedule to display, for example, the rest of the Tuesday day column 262. When this occurs, some or all of the Monday day column 260 may fall off the left of the display and no longer be displayed. The user may again press the right scroll or pan button 282 to display all or part of the Wednesday day column (not shown). This may be repeated to view the entire schedule of the controller. At any time, the user may press the scroll or pan button 280 to scroll or pan back through the schedule in a leftward direction, as desired. The amount that the display travels relative to the controller schedule with each push of the scroll or pan buttons 280 and 282 may depend on the application, and in some cases, set by the user. For example, the display may travel a portion of a day column, an entire day column, or more than one day column with each push of the scroll or pan buttons 280 and 282.

In some embodiments, part of the display may remain stationary as the scroll or pan buttons 280 and 282 are pressed. For example, the “Wake”, “Leave”, “Return” and “Sleep” designators shown at 252, 254, 256 and 258 may remain stationary on the display 250. Likewise, the scroll or pan buttons 280 and 282 may remain stationary, as well as other control buttons, as desired.

In some embodiments, the user may select a particular parameter or set of parameters for modification. In the illustrative embodiment, the user may select, for example, the heat set point 290 for the wake period on Monday. The user may select the particular parameter in any number of ways. For example, if the display 250 is a touch screen, the user may simply touch the particular parameter. If the display 250 is not a touch screen, one or more navigation buttons (not shown) may be used to traverse and select various parameters of the schedule. Once selected, the user may edit the parameter, if desired. For example, and in the illustrative embodiment, the user may press the edit button 292 to enter an edit mode. Then, one or more up/down buttons (not shown) or the like may be used to change the value of the selected schedule parameter.

The schedule may appear to be one continuous schedule extending from Monday through Sunday, with the display 250 appearing as a “window” that displays only a portion of the schedule. The scroll or pan buttons 280 and 282 may be used to move the display “window” across the schedule. It is believed that this may provide an intuitive interface that may help a user can get a more complete picture of the schedule without having to traverse many different display screens.

FIG. 13 is a schematic view showing another illustrative embodiment for displaying a number of device parameters of a schedule of a controller. In this illustrative embodiment, the display 300 shows a subset of the schedule parameters, but not all of the schedule parameters. Referring to FIG. 13, and in the illustrative embodiment, only the heat and cool set points are shown for each schedule period (e.g. wake, leave, return, sleep) and for each day. In some cases, this amount of information may fit onto a single screen of a controller. While the heat and cool set points may provide the user with a good overall picture of the currently programmed schedule, it is contemplated that any subset of the schedule parameters may be chosen for display. Also, and in some embodiments, the user may select which subset of the schedule parameters are selected for display.

To view additional schedule parameters, and in the illustrative embodiment, the user may select a particular schedule period and day. For example, and in FIG. 13, the user has selected the “Wake” period for Monday, as highlighted by dark box 302. When selected, the illustrative display may provide a pop-up window 304 that displays some or all of the schedule parameters for that period/day. In some embodiments, a show button 308 or the like may be provided to cause the display to provide the pop-up window 304, although this is not required or even desired in all embodiments.

In some embodiments, the user may select a particular schedule parameter in the pop-up window 304 for editing. For example, the user may select the Wake Start Time 306 for editing. Once selected, the user may change the value of the Wake Start Time, as desired. Again, it is believed that this may provide an intuitive interface that may help a user get a more complete picture of the schedule without having to traverse many different display screens.

FIG. 14 is a schematic view showing yet another illustrative embodiment for displaying a number of device parameters of a schedule of a controller. In this illustrative embodiment, a controller schedule is shown in a graphical format. The time of day extends from left to right, beginning at 1 AM and ending to 12 AM. In the illustrative embodiment, vertically extending dashed lines are provided to show the beginning of each hour of the day.

Each of the seven days of a week is shown along the left of the graph. While seven days are shown, it is contemplated that fewer or more days may be provided, or groups of days, or other time periods, may be provided depending on use. Each of the seven days includes a line graph that indicates when each of a number of schedule time periods begins. In the illustrative embodiment, “wake”, “leave”, “return” and “sleep” time periods are available for each day. However, it should be recognized that other schedule time periods may be used, if desired.

Referring the line graph 330 for Monday, the “sleep” time period begins at 12:00 AM as indicated at 330 a, the “wake” time period begins at 4:00 AM as indicated at 330 b, the “leave” time period begins at 8:00 AM as indicated at 330 c and the “return” time period begins at 6:00 PM as indicated at 330 d. In the illustrative embodiment, the height of the line graph only indicates a relative temperature (e.g. comfort temperature versus energy saving temperature), and does not indicate an actual temperature set point. Instead, the heat set point, fan setting, and other parameters may be shown adjacent to the line graph in each or selected schedule periods. For example, and in the illustrative embodiment, designations “68” “A” are provided adjacent to the line graph during the “sleep” period. The designation “68” indicates that the heat set point is set to 68 degrees, and the designation “A” indicates that the fan mode is set to AUTO. Similar designations may be provided for the “wake”, “leave” and “return” schedule time periods, as shown. Although not explicitly shown, cool set points and/or other schedule parameters may be provided on the display. Also, in some embodiments, the height of the line graph may provide a measure of, for example, a set point temperature. That is, the horizontal lines of the line graph 330 may be positioned along a vertical temperature scale provided for line graph 330 so that the vertical position of each horizontal segment provides an indication of the heat set point or some other schedule parameter of the schedule. Alternatively, or in addition, the color of graph segments may provide an indication of the value of the schedule parameter (e.g. set point temperature). It is believed that this embodiment may also provide an intuitive interface that may help a user get a more complete picture of the schedule without having to traverse many different display screens.

FIG. 15 is a schematic view showing another illustrative embodiment for displaying a number of device parameters of a schedule of a controller. Like above, and in this illustrative embodiment, a controller schedule is shown in a graphical format. The time of day extends from left to right, beginning at 1 AM and ending to 12 AM. In the illustrative embodiment, vertically extending dashed lines are provided to show the beginning of each hour of the day.

Each of the seven days of a week is shown along the left of the graph. While seven days are shown, it is contemplated that fewer or more days may be provided, or groups of days, or other time periods, may be provided depending on use. In the illustrative embodiment, each of the seven days includes two linear line graphs, each having a number of segments. The upper linear line graph corresponds to the programmed cool set point, and the lower linear line graph corresponds to the programmed heat set point. A fan setting indicator is shown between the two linear line graphs. While two linear graphs for each day are shown in FIG. 15, it is contemplated that more or less line graphs may be provided, as desired.

In the illustrative embodiment, each linear line graph includes a number of line segments. Each line segment corresponds to a schedule time period. For example, a first segment may correspond to a “sleep” time period. A second, a third and a fourth segment may correspond to a “wake”, a “leave”, and a “return” time period, respectively. As noted above, it should be recognized that other schedule time periods may be used, if desired. If the start time of a particular schedule time period is changed, the length and position of the corresponding line segment(s) may also change to correspond to the changed start time.

As shown in FIG. 15, each line segment may be displayed in a manner that provides an indication of the value of a corresponding schedule parameter. In FIG. 15, the darker the line, the cooler the set point temperature. Alternatively, or in addition, color or any other suitable visually discernable indicator may be used, as desired, to provide an indication of the value of a corresponding schedule parameter. In some embodiments, a scale (not shown) may be provided that associates a segment display characteristic to a schedule parameter value. For example, a color scale may be provided that associates a particular color to a set point particular temperature. By using the color scale, the user may be able to determine the value of the schedule parameter from simply viewing the display characteristics of the line segments shown in FIG. 15. It is believed that this embodiment may also provide an intuitive interface that may help a user get a more complete picture of the schedule without having to traverse many different display screens.

Having thus described the several embodiments of the present invention, those of skill in the art will readily appreciate that other embodiments may be made and used which fall within the scope of the claims attached hereto. Numerous advantages of the invention covered by this document have been set forth in the foregoing description. It will be understood that this disclosure is, in many respects, only illustrative. Changes can be made with respect to various elements described herein without exceeding the scope of the invention. 

1. A method for programming a schedule of a programmable controller having a user interface, wherein the programmable controller is configured to control one or more pieces of equipment in accordance with the schedule, the schedule includes a plurality of time periods for each of at least two days of the schedule, wherein each day has the same number of time periods, the method comprising: allowing a user to assign a first tag value to at least two time periods of the schedule via the user interface, wherein the first tag value can be assigned by the user to any of the plurality of time periods for any of the at least two days of the schedule; and allowing a user to assign a first control parameter value to the first tag value via the user interface, wherein the programmable controller uses the first control parameter value when controlling the one or more pieces of equipment during each of the at least two time periods of the schedule that the first tag value has been assigned by the user.
 2. The method of claim 1, wherein at some time after the first control parameter value has been assigned to the first tag value, assigning a different control parameter value to the first tag value, wherein the programmable controller then uses the different control parameter value when controlling the one or more pieces of equipment during each of the at least two time periods of the schedule that the first tag value has been assigned by the user.
 3. The method of claim 2, wherein at some time after the first tag value is assigned to at least two time periods of the schedule, assigning a different tag value to at least one of the at least two time periods of the schedule.
 4. The method of claim 1, wherein at some time after the first tag value is assigned to at least two time periods of the schedule, assigning a different tag value to at least one of the at least two time periods of the schedule.
 5. The method of claim 1 wherein the first tag value is assigned to at least two time periods of the schedule but less than all of the time periods of the schedule.
 6. The method of claim 1 wherein, during the at least two time periods of the schedule that the first tag value is assigned, the programmable controller reads up the first control parameter value that is assigned to the first tag value and controls the one or more pieces of equipment in accordance with the first control parameter value.
 7. The method of claim 6, wherein at some time after the first control parameter value has been assigned to the first tag value, assigning a different control parameter value to the first tag value, and during the at least two time periods of the schedule that the first tag value is assigned, reading up the different control parameter value that is assigned to the first tag value and controlling the one or more pieces of equipment in accordance with the different control parameter value.
 8. The method of claim 1 further comprising: allowing a user to assign a second tag value to at least one other time period of the schedule via the user interface; and allowing a user to assign a second control parameter value to the second tag value via the user interface, wherein the programmable controller is configured to use the second control parameter value when controlling the one or more pieces of equipment during the at least one other time period of the schedule that the second tag value has been assigned, wherein the second tag value can be assigned to any of the plurality of time periods for any of the at least two days of the schedule.
 9. The method of claim 8 wherein the first tag value and the second tag value correspond to the same control parameter.
 10. The method of claim 9 wherein the first tag value and the second tag value have different assigned parameter values.
 11. The method of claim 9 wherein the first control parameter value corresponds to a set point.
 12. The method of claim 11 wherein the programmable controller is a programmable HVAC controller, and the first control parameter value corresponds to a heat set point.
 13. The method of claim 12 wherein the first control parameter value is heat set point temperature value.
 14. The method of claim 11 wherein the programmable controller is a programmable HVAC controller, and the first control parameter value corresponds to a cooling set point.
 15. The method of claim 14 wherein the first control parameter value is cool set point temperature value.
 16. A method of operating a programmable HVAC controller that has a schedule and a user interface, wherein the programmable HVAC controller is configured to control one or more pieces of HVAC equipment in accordance with the schedule, the schedule includes a plurality of time periods for each of at least two days of the schedule, and each time period has a number of control parameters for use by the programmable controller during the time period, the method comprising: assigning each of two or more tag values to each of at least two selected time periods of the schedule using the user interface of the programmable controller, wherein each of the two or more tag values corresponds to a control parameter, wherein each of the two or more tag values can be assigned by the user to any of the plurality of time periods for any of the at least two days of the schedule; assigning a control parameter value to each of the two or more tag values that are assigned to the selected time periods of the schedule using the user interface of the programmable controller; and during each of the at least two selected time periods of the schedule that have a selected one of two or more tag values assigned, operating the programmable controller in accordance with the control parameter value that is assigned to the tag value that is assigned to that time period.
 17. The method of claim 16, further comprising the steps of: at some time after a control parameter value has been assigned to each of the two or more tag values, assigning a different control parameter value to a selected tag value; and during each of the at least selected time periods that have the selected tag value assigned, operating the programmable controller in accordance with the different control parameter value.
 18. The method of claim 16 wherein at least two of the two or more tag values have a different control parameter value assigned.
 19. The method of claim 18 wherein the at least two of the two or more tag values each correspond to a heat set point, and the different control parameter values assigned to the at least two of the two or more tag values are different heat set point temperature values.
 20. The method of claim 18 wherein the at least two of the two or more tag values each correspond to a cool set point, and the different control parameter values assigned to the at least two of the two or more tag values are different cool set point temperature values.
 21. A programmable HVAC controller for controlling one or more pieces of HVAC equipment, the programmable controller comprising: a schedule having a plurality of time periods for each of at least two days of the schedule, wherein each day has the same number of time periods, wherein each time period has a number of corresponding control parameters; a memory for storing the schedule, wherein the programmable HVAC controller is reads the schedule from the memory and controls the one or more pieces of HVAC equipment in accordance with the schedule; a user interface; the user interface configured to allow a user to assign each of two or more tag values to any of the plurality of time periods of the schedule for any of the at least two days of the schedule, wherein each of the two or more tag values corresponds to a control parameter; the user interface also configured to allow a user to assign a control parameter value to each of the two or more tag values; and during each of the plurality of time periods of the schedule that has a tag value assigned, the programmable controller controls the one or more pieces of HVAC equipment in accordance with the control parameter value that is assigned to the tag value that is assigned to that time period.
 22. The programmable controller of claim 21, wherein the user interface is further configured to allow a user to assign a different control parameter value to a selected tag value at some time after the control parameter value has been assigned to each of the two or more tag values.
 23. The programmable controller of claim 21, wherein the user interface is further configured to allow a user to assigning a different one of the two or more tag values to different time periods of the schedule. 